﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Collections.ObjectModel;

namespace MEF_Test.Bricks
{

    //todo: replace all BrowserEntryBase by real, fully implemented classes.
    public class MediaBrowserViewModel<TBrowsingProvider> : DependencyObject // where TBrowsingProvider is a MediaBrowsingProviderBase
    {
        //        private TBrowsingProvider<TBrowsingProvider.Node> _mediaBrowsingProvider;

        private MediaBrowsingProviderBase _mediaBrowsingProvider;

        public ObservableCollection<BrowserNodeBase> BrowserEntries
        {
            get { return (ObservableCollection<BrowserNodeBase>)GetValue(BrowserEntriesProperty); }
            set { SetValue(BrowserEntriesProperty, value); }
        }

        // Using a DependencyProperty as the backing store for BrowserEntries.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty BrowserEntriesProperty =
            DependencyProperty.Register("BrowserEntries", typeof(ObservableCollection<BrowserNodeBase>), typeof(MediaBrowserViewModel<TBrowsingProvider>), new UIPropertyMetadata(null));

        
    }
}
